package jmine.tec.test.junit4;

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

import bancosys.tec.utils.db.descriptor.FlatReferenceDatabaseBuilder.ReferenceDatabaseDescriptionType;

/**
 * Anotação com metadados acerca do ambiente de banco de dados utilizado pelo teste.
 * 
 * @author lundberg
 */
@Documented
@Target({ ElementType.TYPE })
@Retention(RetentionPolicy.RUNTIME)
public @interface DBEnv {

    /**
     * Tipo de base de referência a ser utilizado no teste.
     */
    ReferenceDatabaseDescriptionType type() default ReferenceDatabaseDescriptionType.SCHEMA;

    /**
     * Arquivos do refdb utilizados para montar a base de referência, separados por vírgula
     */
    String refdb() default "";

    /**
     * Arquivo do spring que define a beanfactory utilizada pelo teste
     */
    String spring();
}
